package com.lanou3g.hw0416;

import java.util.ArrayList;

/**
 * Created by dllo on 18/4/17.
 */


/*
*
*存放着所有的用户信息
*
* */

public class UserInfos {


    private ArrayList<User> users;
    //static修饰的成员变量只能加载一次
    //通过static 关键字,让UserInfos 只被加载一次


    //java虚拟机运行时,自动创建对象
    private static UserInfos userInfos = new UserInfos();

    //通过static方法,可以通过类名.方法 来获取userInfos 对象,这样UserInfos类 在这个系统中,只会被new一次,即做到了 单利
    public  static UserInfos getInstance(){
        return userInfos;
    }

    //构造方法私有,那么这个项目中,除了自己没有任何一个类能new出该类对象
    private UserInfos(){
        users = IOUtis.initUsers();

    }

    public ArrayList<User> getUsers() {
        return users;
    }

//    public void setUsers(ArrayList<User> users) {
//        this.users = users;
//    }

    public static UserInfos getUserInfos() {
        return userInfos;
    }
    //set删掉,再也改不了值了

//    public static void setUserInfos(UserInfos userInfos) {
//        UserInfos.userInfos = userInfos;
//    }


    //判断用户名是否重复,重复为true,不重复为false
    public boolean isRepeat(String username){

        for (User user : users) {
            if (username.equals(user.getUsername())){
                return true;
            }
        }
        return false;
    }



}
